package com.cg.configer;
import io.swagger.v3.oas.models.Components;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.security.SecurityRequirement;
import io.swagger.v3.oas.models.security.SecurityScheme;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class  OpenAPIConfig {
    @Bean
    public OpenAPI springShopOpenAPI() {
        return new OpenAPI()
                .components(components())
                // 添加安全项，指定使用 httpTest 安全方案
                .addSecurityItem(new SecurityRequirement().addList("httpTest"));
    }
    private Components components() {
        // 注册 httpTest 安全方案，类型为 HTTP，scheme 为 bearer，这通常意味着使用 Authorization header
        return new Components()
                .addSecuritySchemes("httpTest",
                        new SecurityScheme()
                                .type(SecurityScheme.Type.HTTP)
                                .scheme("bearer")
                                .bearerFormat("JWT") // 可选：指定Bearer token的格式，如JWT
                                .name("Authorization") // 指定请求头名称，默认为 "Authorization"
                                .in(SecurityScheme.In.HEADER) // 指定位置为头部，默认为 HEADER
                );
    }
}
